<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
</head>
<body>
<div id="app">
  <cpn :cmovies="movies" :cmessage="message"></cpn>
</div>

<template id="cpn">
  <div>
    <ul>
      <li v-for="items in cmovies">{{items}}</li>
    </ul>
    <h2>{{cmessage}}</h2>
  </div>
</template>

<script src="../js/vue.js"></script>
<script>
<!--  父传子通过props来传递值-->
    const cpn = {
        template:'#cpn',
        data(){
          return{}
        },
        // 0.直接写一个数组，数组中写变量名
        // props:['cmovies','cmessage'],
        props:{
            // 1.类型限制
            // cmovies: Array,
            // cmessage:String,

            // 2.提供一些默认值并限制类型以及必传值
            cmessage:{
                type:String,
                default:'默认值',
                required:true,    //是否是一个必须传递过来的值
            },
            //类型是一个对象或者数组时，默认值必须是一个函数
            cmovies:{
                type: Array,
                // default: []       //vue2.5.17以下不会错
                default(){
                    return []
                },
                required: true,
            }


        },
        methods:{

        },
    }

    const app = new Vue({
        el:'#app',
        data:{
            message:'你好呀',
            movies:['海王','海贼王','海尔兄弟']
        },
        components:{
            cpn,
        }
    })
</script>
</body>
</html>